'''
按行读取运行结果，四行一组放进一个大列表；
遍历大列表，得到大列表中的第二个小列表(ner_list)，
遍历小列表中的字符串，如果 and 存在,则逐个输出大列表中的小列表
'''


# 加载.txt文件
path = '../problem_test2.txt'
with open(path, 'r', encoding='utf8') as f:
    big_list = f.readlines()    # 其中一行文本是一个字符串


temp_list = []      # 用来存储待判断的四行文本
count = 0           # 用来表示temp_list中得到了几个文本
find_str1 = '(NN)'    # 待查找的字符串
# find_str2 = 'The(DT)'
flag, c = 0, 0            # 为1时表示输出temp_list中的四行文本
with open('NN.txt', 'a', encoding='utf8') as f2:
    for little_str in big_list:
        temp_list.append(little_str)
        count = count + 1
        if count == 4:      # temp_list中得到了四行文本
            ner_str = temp_list[1]     # 得到第二行文本，也就是实体列表
            np_str = temp_list[2]
            if find_str1 in ner_str:     # 如果该实体(名词短语)中包含find_str
                c += 1
                for text in temp_list:
                    f2.write(text)
                    # print(text, end='')
            count = 0   # 为下一次计数做准备
            temp_list = []
print(c)



